'''
Created on Mar 20, 2013

@author: jason.richmond
This class supports the different types of packets we would like to create.
We want to know the drop rate for each type of job.
'''
from SimPy.Simulation import now

class Job:
    def __init__(self, priority, noDrop):
        self.noDropFlag = noDrop;
        self.priorityServiceFlag = priority;
        self.dropped = False;
        self.ArrivalTime = now()
        
class EmailJob(Job):
    TotalEmailJobs = 0
    
    def __init__(self):
        Job.__init__(self, False, False)
        EmailJob.TotalEmailJobs += 1
        
class FTPJob(Job):
    TotalFTPJobs = 0
    
    def __init__(self):
        Job.__init__(self, False, True)
        FTPJob.TotalFTPJobs += 1
        
class TelnetJob(Job):
    TotalTelnetJobs = 0
    
    def __init__(self):
        Job.__init__(self, True, True)
        EmailJob.TotalEmailJobs += 1
        
class VoiceJob(Job):
    TotalVoiceJobs = 0
    def __init__(self):
        Job.__init__(self, True, False)
        EmailJob.TotalEmailJobs += 1
